According to the Java Card specification, if a public non-final library or API class is to be kept backward compatible, there can be no public virtual methods added to the public non-final library or API class. Same is the case with the public interfaces. This is because the class and interface method linking is based on tokens which are assigned when a CAP file is created by a converter. The same token numbers are relied upon for on-card linking and runtime method resolution.